Method of and apparatus for measuring and controlling fluid level in stereolithography

ABSTRACT

Improved apparatus and methods for forming a layer of material over a surface of a previously-formed cross-section of a three-dimensional object in anticipation of forming a next cross-section of the object out of the layer. A volume of material, including at least some excess material, is placed over the surface, and the excess material is swept off by placing the excess material in the predetermined path of a sweeping member, the path being substantially in a plane spaced from a working surface of material. The member may be directed to sweep the excess material away through a successive number of sweeps, which may vary for each cross-section, at least a velocity which may vary for each sweep. Additionally, the clearance between the member and the surface of the previous cross-section may vary for each sweep. A &#34;winged&#34; member is also provided, comprising two legs extending from a base, and a &#34;Trident&#34; embodiment is also provided, comprising three legs extending from a base.

This application is a continuation of U.S. patent application Ser. No. 07/515,479, filed Apr. 23, 1990, now U.S. Pat. No. 5,174,931, which is a continuation-in-part of U.S. patent application Ser. No. 07/249,399, filed Sep. 26, 1988, abandoned, and U.S. Ser. No. 07/261,039, filed Oct. 31, 1988, abandoned.

BACKGROUND OF THE INVENTION

This invention relates generally to an improved stereolithography apparatus and method for the production of three-dimensional objects in layers, and more specifically, to an improved apparatus and method for recoating a previously-formed cross-section with a layer of stereolithography medium in anticipation of the formation of a next cross-section.

In recent years, "stereolithography" systems, such as those described in U.S. Pat. No. 4,575,330 entitled "APPARATUS FOR PRODUCTION OF THREE-DIMENSIONAL OBJECTS BY STEREOLITHOGRAPHY" have come into use. Basically, stereolithography is a method for automatically building complex three-dimensional parts (e.g., plastic parts) by successively curing a plurality of thin layers of a curable medium (e.g., polymerizable liquid) on top of each other until all of the thin layers are joined together to form a whole part. Each layer is in essence a thin cross-section of the desired three-dimensional object. With this technology, the parts are literally grown from a supply of building medium (e.g., grown from a vat of liquid plastic). This method of fabrication is extremely powerful for quickly reducing design ideas to physical form and for making prototypes. Moreover, complex parts can be made quickly without tooling. Because the system uses a computer to generate the cross-sectional patterns, the system can be readily linked to CAD/CAM systems.

The presently preferred building media are photopolymers that are cured by ultraviolet (UV) light and their curing is fast enough to make them practical model building materials. The liquid that is not polymerized when a part is made is still usable and remains in the vat as successive parts are made. An ultraviolet laser generates a small intense spot of UV which is moved across the liquid surface with a galvanometer mirror X-Y scanner in a predetermined pattern. The scanner is driven by computer generated vectors or the like. Precise complex patterns can be rapidly produced with this technique.

Other preferred building media includes sinterable powders and powders solidifiable when combined with an appropriately dispensed binder. A typical stereolithography system for use with photopolymers includes a laser scanner, a vat or tank for containing the polymerizable liquid, and an object support platform, which is capable of being raised and lowered in the tank, and a controlling computer. The system is programmed to automatically make a plastic part by forming one thin cross-section at a time and building the desired three-dimensional object up layer by layer.

In typical stereolithographic procedures, a thin layer of viscous curable plastic liquid is applied to a surface which may be a previously cured layer and, after sufficient time has elapsed for the thin layer of polymerizable liquid to smooth out by gravity, a computer controlled beam of radiation is moved across the thin liquid layer to sufficiently cure the plastic liquid so that subsequent layers can be applied thereto. The waiting period for the thin layer to level varies depending on several factors such as the viscosity of the polymerizable liquid, the layer thickness, part geometry and cross-section geometry, and the like.

Typically, the cured layer, which is supported on a vertically movable object support platform, is dipped below the surface of a bath of the viscous polymerizable liquid a distance greater than the desired layer thickness so that liquid flows over the previous cross-section rapidly. Then, the part is raised to a position below the surface of the liquid equal to the desired layer thickness, which forms a bulge of excess material over at least a substantial portion of the previous cross-section. When the surface levels (smooths out), the layer is ready for curing by radiation.

For further details of stereolithography, reference is made to U.S. Pat. Nos. 4,575,330 and 4,999,143 and the following pending U.S. patent applications (all assigned to 3D Systems, Inc., the assignee and applicant for the subject application) which are incorporated herein by reference in their entirety, including appendices attached thereto or material incorporated therein by reference, as if fully set forth:

U.S. Pat. No. 4,104,592 entitled "STEREOLITHOGRAPHIC CURL REDUCTION";

U.S. patent application Ser. No. 331,644, Hull et al., filed Mar. 31, 1989, entitled "METHOD AND APPARATUS FOR PRODUCTION OF HIGH RESOLUTION THREE-DIMENSIONAL OBJECTS BY STEREOLITHOGRAPHY";

U.S Pat. No. 5,015,424, entitled APPARATUS FOR PRODUCTION OF THREE-DIMENSIONAL OBJECTS BY STEREOLITHOGRAPHY";

U.S. Pat. No. 4,999,143 entitled "METHOD AND APPARATUS FOR PRODUCTION OF THREE-DIMENSIONAL OBJECTS BY STEREOLITHOGRAPHY";

U.S. Pat. No. 5,076,974 entitled "METHOD FOR CURING PARTIALLY POLYMERIZED PARTS";

U.S. Pat. No. 5,658,988, entitled "APPARATUS AND METHOD FOR PROFILING A BEAM";

U.S. Pat. No. 5,059,021 entitled "APPARATUS AND METHOD FOR CORRECTING FOR DRIFT IN PRODUCTION OF OBJECTS BY STEREOLITHOGRAPHY";

U.S. Pat. No. 5,123,734 entitled "APPARATUS AND METHOD FOR CALIBRATING AND NORMALIZING A STEREOLITHOGRAPHIC APPARATUS";

U.S. patent application Ser. No. 249,399, Almquist et al., filed Sep. 26, 1988, abandoned entitled "METHOD AND APPARATUS FOR PRODUCTION OF THREE-DIMENSIONAL OBJECTS BY STEREOLITHOGRAPHY";

U.S. patent application Ser. No. 427,885, Spence et al., filed Oct. 27, 1989, entitled "STEREOLITHOGRAPHIC APPARATUS";

U.S. patent application Ser. No. 365,444, Leyden, filed Jun. 12, 1989, entitled "INTEGRATED STEREOLITHOGRAPHY";

U.S. patent application Ser. No. 265,039, Almquist et al., filed Oct. 31, 1988, abandoned entitled "APPARATUS AND METHOD FOR MEASURING AND CONTROLLING THE LEVEL OF A FLUID;"

U.S. patent application Ser. No. 495,791, Jacobs, filed Mar. 19, 1990, entitled "VIBRATIONALLY ENHANCED STEREOLITHOGRAPHIC RECOATING";

U.S. patent application Ser. No. 414,200, Hull et al., filed Sep. 28, 1989, entitled "AN APPARATUS AND METHOD FOR FORMING A SUBSTANTIALLY FLAT WORKING SURFACE";

U.S. patent application Ser. No. 415,168, Hull et al., filed Sep. 29, 1989, entitled "METHODS OF COATING STEREOLITHOGRAPHIC PARTS"

U.S. patent application Ser. No. 429,911, Spence et al., filed Oct. 27, 1989, entitled "IMPROVED SYSTEM FOR PRODUCTION OF THREE-DIMENSIONAL OBJECTS BY STEREOLITHOGRAPHY EMPLOYING VARIOUS PENETRATION DEPTHS AND BEAM PROFILE";

U.S. patent application Ser. No. 428,492, Vorgitch et al., filed Oct. 27, 1989, abandoned in favor of U.S. patent application Ser. No. 824,819, entitled "RAPID AND ACCURATE PRODUCTION OF STEREOLITHOGRAPHIC PARTS";

U.S. patent application Ser. No. 429,435, Smalley et al., filed Oct. 30, 1989, entitled "IMPROVED STEREOLITHOGRAPHIC CONSTRUCTION TECHNIQUES";

International Application No. PCT/US89/04096, Almquist et al., filed Sep. 26, 1989, entitled "RECOATING OF STEREOLITHOGRAPHIC LAYERS"; and

U.S. patent application Ser. No. 415,314, Jacobs et al., filed Sep. 29, 1989, entitled "IMPROVED STEREOLITHOGRAPHIC POST-CURING."

U.S. patent application Ser. No. 516,145, abandoned in favor of U.S. patent application Ser. No. 07/702,031 entitled "IMPROVED STEREOLITHOGRAPHIC CONSTRUCTION TECHNIQUES."

Previous stereolithographic doctor blades provide means to reduce the cycle time for forming each layer of plastic, but without providing a capability to vary parameters associated with the layer formation process to the specific part geometry at hand. In some cases, therefore, these blades will not give optimal results, especially when the part has a certain geometry including trapped volumes of unformed material, which allow unformed material being swept in front of the blade to flow back underneath the blade to disrupt the layer formation process, or large flat areas, where the shear force exerted by the blade on the unformed material may cause a problem known as scoopout, again, with the result of disrupting the layer formation process. Also, previous blade designs are relatively thin, and sometimes suffers from a flutter and twist problem, whereby the unsupported end of the blade deforms when the blade is sweeping away a bulge of excess material. This further disrupts the formation of a substantially uniform layer. The thin cross-sectional width also contributes to the flowback problem, mentioned earlier, over large trapped volumes.

Moreover, the previous blade designs were rectangular in cross-section and contacted the uncured material over their full cross-sectional width. The contact of the blade with the unformed material may induce a shear force on the material beneath the blade, which may be acceptable as long as the blade is not travelling over a previous object cross-section. However, when the blade begin travelling over the previous cross-section, so that only a thin "channel" of material separates the blade from the previous cross-section, the shear force may actually induce a lift force on the part, causing it in some cases to lift up, and even strike the blade. Another problem is that a small bulge of material may form on the trailing edge of the blade, which the blade may deposit over the leading edge of the part when it travels over the part. This deposit, if allowed to build up at each cross-section, can result in a substantial distortion of the part.

It is also difficult to adjust the blade gap with the previous blades, which gap is the distance between the blade and the working surface of the material. However, it is desirable to be able to adjust the blade gap, since too large a gap may result in substantial movement of the platform through the working surface, resulting in working surface disruptions, while too small a gap may position the blade during sweeping too close to the working surface which may further contribute to surface disruptions. Presently, setting the blade clearance requires the loosening and tightening of bolts, which may exert a torque on the blade, sufficient to cause the blade to tilt or warp relative to the working surface, which may be detrimental to uniform layer formation.

Measuring and controlling the level of the working fluid in a stereolithographic apparatus is also desirable with layer formation using a blade. Detecting the level of the working fluid is important to the layer recoating process so that the previous cross-section can be lowered sufficiently below the working surface to ensure an adequate formation of excess material over the previous cross-section.

Many scientific experiments and industrial applications require the measurement of the level of a fluid. The term "level of a fluid" as used here means the height of the surface of a fluid in a gravitational field or other accelerated frame of reference. This surface may be the top or even the bottom of the fluid (if the fluid is floating on another fluid). The fluid may be the ocean, the gasoline in the tank of an automobile or a liquid chemical in a test tube, among many possibilities. Various means have been adopted over the years to measure the levels of such fluids, including dip sticks, lines painted on the side of pilings, marks on the side of test tubes, floats, reflected light beams, and the like. A need exists, however, for an apparatus which can very precisely and reliably measure the level of a fluid in a stereolithographic apparatus. Apparatus of this sort is particularly useful if coupled with a level maintenance means such as a plunger, a diaphragm, a lifting and lowering means to vertically translate a container of building material, or controls for a pump in order to maintain the level of the fluid at any desired height.

In particular, stereolithographic machines require very precise control of the level of a working fluid. U.S. Pat. No. 4,575,330 to Charles W. Hull, mentioned earlier, discloses apparatus for production of three dimensional objects by stereolithography. The working fluid used in stereolithographic apparatus is usually a photopolymer liquid curable by the application of ultraviolet (U.V.) light. As noted in U.S. Pat. No. 4,575,330, the level of the working fluid in the preferred embodiment must be maintained at a constant level so that the beam of U.V. light will remain sharply in focus on a fixed plane.

The overall intensity and intensity profile ("beam profile") of the beam of U.V. light at the surface of the liquid photopolymer will determine, in cooperation with other factors (such as the characteristics of the liquid photopolymer and the length of time the beam remains in a single spot), the depth and profile of the photopolymer that is cured or polymerized by exposure to the beam. The beam profile will vary with the level of the liquid photopolymer, because the beam is focussed to have a known profile at a predetermined level of the liquid photopolymer. If the liquid photopolymer has a level different from the predetermined one, the difference in the beam profile will change the width of the cured photopolymer and its depth from the depth and width planned.

Furthermore, if the level of the liquid photopolymer is higher than the predetermined level, the depth of the cured photopolymer may not be sufficient to reach to and adhere with the previously cured layer, with detrimental consequences for the structural integrity of the object being formed. If the level is lower, then the new layer will be thinner than planned, which is detrimental to the accuracy of reproduction of the object.

The level of the liquid photopolymer must be maintained despite the shrinkage caused by curing the liquid photopolymer, heating, evaporation, and the like. In early versions of stereolithographic apparatus, this level was maintained by providing a spillway. The level of the liquid photopolymer rose to and slightly above (because of surface tension) the spillway. A spillway, however, does not control the level of the liquid photopolymer with sufficient precision to make possible the finer resolution of parts made by a stereolithographic apparatus. Previous level-detection apparatus provided a more precise means of measuring the level of a fluid through the use of bi-cell detectors to detect the change in position of a reflected beam, reflected off the surface of material in a side tank. However, in many instances, it is desirable to be able to detect level changes in the main tank, rather than in a side tank, since the level in the side tank may not provide a good indication of the level in the main tank. This may be the case if the building material is floated on an immiscible liquid as described in Ser. No. 365,444. A problem with measuring level changes in the main tank is that bubbles or other surface descriptions may form from the passage of the part and/or part platform through the working surface, and the previous apparatus is sensitive to these surface descriptions in the main tank.

Accordingly, an object of the subject invention is to provide means to tailor the layer formation process to specific part geometries. Another object is to provide a sweeping member used in layer formation which reduces or eliminates material flowback and scoopout, and leading edge material deposit, and which induces less lift forces on the previously-formed portion of the part. Another object is to provide means for level detection which does not require a side tank, and which is less sensitive to surface disruptions on the working surface.

Additional objects and advantages will be set forth in the description which follows or will be apparent to those of skill in the art who practice the invention.

SUMMARY OF THE INVENTION

To achieve the foregoing objects, and in accordance with the purpose of the invention as embodied and broadly described herein, there is provided an improved apparatus of the type for forming a three-dimensional object at a working surface of material in a container, the material being capable of selective physical transformation upon exposure to synergistic stimulation, the improvement comprising: a member sweepable in response to first control signals along a predetermined path substantially in a plane spaced by a gap above the working surface for a number of sweeps, and a velocity for each sweep, specified by the first control signals; a platform movable in response to second control signals for supporting a previously-formed object cross-section, the cross-section having a surface, and the platform being adapted to move the cross-sectional surface to a first position below the working surface so that a volume of material moves onto the cross-sectional surface, the volume containing excess material, and to a second position before each sweep of the member wherein the cross-sectional surface is spaced by a clearance from the plane of the sweepable member, the clearance being specified by the second control signals, and determined so that after a final sweep, substantially all the excess material is swept away by the member, leaving a layer of material over the surface of the previously-formed object cross-section; and control means coupled to the sweepable member, and to the movable platform, and capable of varying the number of sweeps for each cross-section of the object, the velocity for each sweep, and the clearance before each sweep, and adapted to produce the first and second control signals specifying the same.

Another improvement comprises a member sweepable along a predetermined path substantially in a plane spaced by a gap above the working surface in response to first control signals; a platform movable in response to second control signals for supporting a previously-formed object cross-section, the cross-section having a surface, and the platform being adapted to move the surface of the cross-section to a first position below the working surface so that a volume of material moves onto the cross-sectional surface, the volume containing at least some excess material, to a second position before a sweep of the member determined so that at least part of the excess resin is placed in the path of and swept away by the member; a float adapted to float on the working surface of the material in the container; means coupled to the float for detecting, based on movement of the float, whether the level of the working surface has moved more than a predetermined distance from a reference level, and for providing a detection signal in response thereto; means responsive to third control signals for maintaining the level of the working surface within the predetermined distance of the reference level; and control means coupled to the sweepable member, the movable platform, the detecting means, and the altering means, and adapted to produce the first and second control signals, and to produce the third control signals in response to the detection signal.

A third improvement comprises a sweepable member having a chamfered edge in a sweep direction, the edge making an angle of between about 5-8 degrees with the plane of the path.

A fourth improvement comprises a sweepable member comprising a plurality of spaced legs extending from a base, and having ends for contacting the material.

Additional improvements and related methods are also provided.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a cross-sectional view of a stereolithography system embodying features of the invention;

FIG. 2 is a perspective view of the system shown in FIG. 1 further illustrating the embodiment shown in FIG. 1;

FIGS. 3-6 are simplified cross-sectional views of the tank shown in FIG. 1 at various stages of the stereolithography procedure;

FIG. 7 is a perspective view of a three-dimensional object which has been made in accordance with the present invention;

FIG. 8 is a perspective view of a portion of a stereolithographic apparatus with a preferred embodiment of the fluid level measuring apparatus of the present invention mounted thereon;

FIG. 9 is a side elevational view of a preferred embodiment of the invention;

FIG. 10 is a side elevational view of the optical paths taken by the laser beam of a preferred embodiment of the invention under conditions of changing fluid level and angle of incidence;

FIG. 11 is a front elevational view of a bi-cell photo sensor used in a preferred embodiment of the invention;

FIG. 12 is a block diagram of the electronics associated with the bi-cell photosensor of the preferred embodiment of the invention;

FIG. 13 illustrates the trapped volume problem;

FIG. 14 illustrates threaded, retractable pins for setting the blade gap;

FIG. 15 provides a close-up view of the pin mounted in the blade;

FIG. 16 illustrates a cross-section of a blade having an angle of attack in the direction of blade movement;

FIGS. 17-19 illustrate alternative cross-sectional shapes for the blade of FIG. 16;

FIG. 20 illustrates an alternative shape for a level-detecting float;

FIG. 21 illustrates a level detecting apparatus including a float;

FIG. 22 is a diagram of the optical detector of the apparatus of FIG. 21;

FIG. 23 is a flowchart of the recoating software used in one embodiment of the SLA-250;

FIGS. 24(A), 24(B), and 24(C) illustrate problems encountered with a conventional blade design having a rectangular cross-section;

FIG. 25 illustrates how a non-vertical blade side opposite to the sweep direction will reduce the deposit of a resin hump on the leading edge of a part;

FIG. 26 illustrates a "winged" embodiment of a blade design having two contacting members;

FIGS. 27(A) and 27(B) illustrate how a preferred "Trident" embodiment of a blade design having three contacting members can reduce resin flowback and scoopout;

FIG. 28 illustrates the scoopout problem with a conventional blade design;

FIGS. 29(A), 29(B), and 29(C) illustrate embodiments of blade designs having more than three contacting members; and

FIGS. 30(A), 30(B), and 30(C) are flowcharts of the recoating software used in a second embodiment of the SLA-250.

DETAILED DESCRIPTION OF THE INVENTION Recoating in General

FIGS. 1 and 2 schematically illustrate a stereolithography system for forming three-dimensional objects which embodies features of the invention of Ser. No. 249,399. As shown in these drawings, tank or vat 10 is provided to contain a bath 11 of polymerizable fluid. An object support platform 12 is disposed within the tank 10 and is adapted by frame elements 13 and 14 to be raised and lowered within the tank by a motor (not shown). The platform 12 has a horizontal surface 15 on which the three-dimensional objects are formed in accordance with the invention. The tank 10 has a trough 16 in the upper portion of one sidewall of tank 10 and a plunger or piston 17 is disposed within the trough to be raised and lowered by motor 18 to control the level of the upper surface 20 of polymerizable liquid within the tank 10.

The level of the upper surface 20 of the bath 11 is detected by means of a radiation source 21 such as an HeNe laser, which is directed toward the upper surface 20 at an angle and radiation sensor 22 which may be a bi-celled detector. The position of the sensor 22 is adjusted to be at a complementary angle with respect to the upper surface 20 so as to receive the radiation from the HeNe laser. A control system 23 is provided to control the movement of the plunger 17 by motor 18.

A computer controlled radiation source 24 is disposed above the bath 11 to direct curing media, such as ultraviolet radiation or other types of curing stimulation, in a predetermined pattern across the upper surface 20 of the bath 11 in order to selectively cure the liquid building material where such radiation impacts thereon. The movement and operation of the radiation source 24 and raising and lowering of the object support platform 12 are integral parts of the computer control 25 of the system as will be further described hereinafter.

A doctor blade 26 is mounted on the top of the tank 10 and is adapted to move horizontally across the top of the tank. A blade support 27 is solidifiably mounted on rails 30 and 31 disposed along one side of the tank 10. A threaded drive shaft 32 passes through a threaded passageway (not shown) in the blade support 27 and rotation thereof by motor 33 moves the blade support 27 and thus the blade 26 horizontally across the top of the tank 10.

The operation of the stereolithography system shown in FIGS. 1 and 2 is best shown in the sequence of FIGS. 3-6. Starting with FIG. 3 the stereolithography procedure is initiated with the object support platform 12 being positioned within the bath 11 of polymerizable liquid so that the horizontal surface 15 thereon is located a short distance from the upper surface 20 of the bath. This distance is greater than the desired thickness of the layer of polymerizable liquid to be cured. The layer of polymerizable liquid immediately above the surface 15 will form the first solid layer of the three-dimensional object when cured.

This first layer above support platform 12 as well as several layers thereafter generally consist of supports that will be removed after the part has been built. Therefore, minor inaccuracies in layer thickness formed for these first few layers are inconsequential to the accurate production of the desired part.

The next step in the process is shown in FIG. 4. The object support platform 12 is raised so that the layer 34 of polymerizable liquid on the surface 15 is held above the upper surface 20 of the bath 11. The polymerizable liquid is relatively viscous fluid so the liquid does not immediately run off the edges of the surface 15 on platform 12 when the layer is raised out of the bath. Doctor blade 26 is moved horizontally so that the lower edge 35 thereof strikes off excess polymerizable liquid from the layer 34 and thereby smooths the upper surface (36) of the coating of material over surface I5. Suitable blade speeds are empirically determined to provide a desired level to the upper surface 36. Moreover, one or more passes by the doctor blade 26 may be needed at a particular speed to provide a smooth level upper surface 36 of coating 34. Typical blade speeds may range from about 1/2 to ten inches per second.

After the upper surface 36 of layer 34 is leveled by the doctor blade 26, the object and support platform 12 are lowered into the bath 11 as shown in FIG. 5 so that the smoothed upper surface 36 of the layer 34 is level with or in the same horizontal plane as the surface 20 of the bath 11. Together these form a surface at which additional cross-sections of a part can be formed. This surface is known as the working surface. The fluid of the bath 11 which surrounds the layer 34 forms an interface 37 which is in essence a wall which supports the outer periphery of layer 34. Any disruptions of the working surface 34 or the upper surface 20 of the bath 11 caused by the submersion of object support platform 12 and the layer 34 into the bath 11 are relatively minor and quickly subside.

The computer controlled radiation source 24 is actuated after a short delay, which delay eliminates any disruptions in the upper surface, to direct curing media, preferably UV radiation or other suitable stimulation, over the working surface 36 of bath 11 in a predetermined pattern to cure the liquid onto which the radiation impacts. The layer 34 is sufficiently cured so that it has the necessary green strength to support additional layers which are subsequently applied in a similar manner and to facilitate handling of the formed object after stereolithographic formation but before final cure.

After irradiation of layer 34, the object support platform 12 is further lowered as shown in FIG. 6 so that the liquid from the bath 11 flows over the previously cured layer 34 to form a new layer 38 to thereby initiate another cycle of the process.

A series of transformed layers are built up in the aforesaid manner, as shown in FIG. 1, with each layer being in effect a thin cross-section of the desired three-dimensional object 40. The thickness of the individual layers can vary depending upon the geometry of the part being formed, the composition and Viscosity of the untransformed building material and the nature and intensity of the curing stimulation media. However, typical thicknesses range from about 0.003 to about 0.02 inch. The completed three-dimensional object 40 which is formed by the aforedescribed stereolithography system is removed from the tank 10 and then subjected to further treatment to complete the curing of any uncured material which remains within the bounded surfaces of the three-dimensional object. Surface finishing, such as sanding and the like, may also be applied as needed.

A wide variety of polymerizable liquids can be utilized with the present invention as well as a wide range of curing media. However, photon polymerizable liquids, such as acrylics, are presently preferred along with UV radiation to cure them. Preferably, the viscosity of the polymerizable liquid exceeds 100 centipoise and preferably range from about 1000 to about 6000 centipoise. Viscosities outside this range can also be used. In fact, experiments have been successfully done with resins of viscosity greater than 100,000 centipoise.

EXAMPLE

As an example of a preferred embodiment of the invention of Ser. No. 249,399, a computer controlled stereolithography system developed by the present assignee and schematically shown in FIGS. 1 and 2 was utilized to form the three-dimensional object shown in FIG. 7. The base of the object was 8.25×8.25 inches, the maximum height was approximately 4 inches and the minimum height was about 1 inch. The wall thicknesses were approximately 0.25 inch. The polymerizable resin employed was a relatively viscous resin from Desoto Chemical Company identified as 4112-65 resin. The temperature of the bath thereof was maintained at approximately 30° C. The thickness of each layer applied was approximately 0.02 inch. The following procedures embodying the features of the present invention were followed for recoating each part layer applied. The object support platform of the stereolithography system was lowered into the bath of 4112-65 resin to allow the liquid resin to flow onto the support surface thereon to form an initial layer of polymerizable liquid which was thicker than desired. The platform was then raised so that the desired upper surface of the initial layer thereon was raised above the bath. A blade traveling at approximately 1 inch per second struck off approximately 0.1 inch of polymerizable liquid in one pass, leaving about 0.02 inch of polymerizable liquid on the support surface on the platform. The platform was then lowered so that the smoothed upper surface of the layer was level with the surface of the bath. The working surface was subjected to ultraviolet radiation from an HeCd laser providing radiation at a wavelength of about 325 nanometers at about 15 milliwatts of power. The total recoating cycle time for each layer recoating cycle was approximately 35 seconds. The time to make such a part with prior methods would have been approximately 165 seconds per layer. The total time saved by utilizing the methods of the present invention in this example was approximately 7.5 hours.

LEVEL DETECTION WITH A BI-CELL PHOTODETECTOR

Referring now to FIG. 8 in the drawings, an advantageous embodiment of the leveling aspect of the invention of Ser. No. 249,399 is shown attached to a stereolithographic vat 30, which is the vat portion of a stereolithography apparatus, in order to measure the level of the working fluid 20 (e.g., a U.V. curable photopolymer such as DeSoto #4112-65) in resin vat 30. The stereolithographic vat depicted in FIG. 8, apart from the addition of the preferred embodiment of the invention and related equipment, has the basic format shown in U.S. Pat. No. 4,575,330 (earlier incorporated by reference) and found in the commercial stereolithographic apparatus sold by 3D Systems, Inc. under the acronym "SLA-1."

The stereolithographic apparatus 10 has a side tank 40 added to it which communicates with resin vat 30 by means of a subsurface passage 50 in wall 60 of the resin vat 30. The dimensions of the side tank are 7 inches by 4 inches in the preferred embodiment of the invention. The working fluid 20 fills the resin vat 30 and the side tank 40. The working fluid is free to flow from the side tank to the resin vat and vice versa. The level of the working fluid in the resin vat (and thus in the side tank) must be precisely controlled to a preset level in order to carry out stereolithographic production of parts (objects made by stereolithography are called "parts"). The apparatus of the present invention, in the form of the preferred embodiment shown, accomplishes this purpose. The subsurface passage allows resin to flow between tanks but blocks the transmission of bubbles near the surface of the material in the main tank from going into the side tank. The presence of bubbles could cause erroneous surface level detection by causing inappropriate reflection of the beam.

A helium neon laser 100 is mounted on resin vat 30 below and to the side of the side tank 40. The laser is aligned so that its output beam is emitted straight up along the side tank. A Uniphase 1508 laser has been found to be successful in the preferred embodiment of the present invention. The Uniphase 1508 laser was chosen because of its low cost, compactness, and low power requirements. The light emitted from this laser will not polymerize the working fluid.

The output beam 110 of the helium neon laser is directed upwards to a mirror 120 (a Rolyn Optics #60.21) mounted on a bracket above the side tank. This deflects the beam along first optical path 112 onto the surface 70 of the working fluid in the side tank 40, as may be best seen in FIG. 9. The beam strikes the surface of the working fluid at angle β with respect to the surface 70 (the angle of incidence equals 90° minus β). Angle β has a value at which a detectable component of the beam will be reflected along a second optical path 114. A varying range of angles will meet this latter requirement, depending upon the character of the fluid and the laser light, and the dimensions of the tank. In the preferred embodiment described here, this angle is 15°.

The apparatus described herein measures the level of the resin in the side tank as opposed to the vat. This is advantageous, since bubbles or other surface disruptions may form in the main vat as the part or support passes through the resin surface at each cycle of part building. These bubbles or other surface disruptions, if struck by the beam, could cause the beam to reflect from the resin surface at an erroneous angle. Other surface disruptions may form over the top of an immersed part that could cause an erroneous beam deflection, which disruptions could take a long time to level out. These include resin bulges, or areas where too much resin has been pushed off by the blade during recoating because of blade drag. These problems may be particularly acute in the case of certain part geometries having trapped volumes, or large, flat, horizontal surfaces, which geometries will be discussed in more detail farther on. By measuring the level of resin in a side tank, the above problems are minimized or eliminated.

After reflection from the surface 70 of the working fluid, the beam returns up along second optical path 114 at the same angle with respect to the surface of the fluid at which the beam impinged on the surface 70 of the fluid. The beam then shines on the bi-cell photo detector 130 mounted on plunger housing 85 on the other side of the side tank 40 from the mirror 120. The mirror is adjusted so that the beam impinges on the bi-cell detector 130 when the level of the working fluid is at the desired height. The mirror is not moved or turned once it has been adjusted to reflect the beam off the surface of the working fluid to the bi-cell photodetector when the level of the working fluid is at the desired height.

A satisfactory bi-cell photodetector, shown in FIG. 11, is made by Silicon Detector Corporation and is known by their number SD113-24-21-021. Other brands and sizes of bi-cell photodetectors would be satisfactory. Linear position sensitive detectors ("PSD"), such as the Hamamatsu two-dimensional PSD (S1544) or two-dimensional lateral cell (S1B52) would be acceptable and might be preferable when the apparatus is intended to measure and display a quantity of output in terms of units of length. The bi-cell photodetector comprises two side-by-side photocells 140. The bi-cell photodetector 130 is mounted on the plunger housing 85 so that the photocells 140 are one above the other and both photocells are above the level of the working fluid. The photodetector may be inclined so that it intercepts second optical path 114 at a right angle, as is best seen in FIGS. 9 and 12. This ensures that the profile of the beam at the photodetector is a circle, not an oval, if the beam originally had a circular profile.

When the level of the fluid rises or falls due to shrinkage from curing, heating, and the like, the beam will strike the surface 70 at a different point. Accordingly, the beam will strike the bi-cell photodetector at a different point. This effect on the beam is shown in phantom in FIG. 9, where a lower level 80 of the working fluid reflects the beam along second optical path 150 to impinge at a lower point with respect to the bi-cell photodetectors. The working fluid level change is exaggerated to illustrate this effect; the preferred embodiment of the invention measures the level of the working fluid in order to maintain that level at a predetermined height. Level changes are small because such level changes are quickly corrected as described below.

A given change in the level of the working fluid will cause the same displacement in the point at which the beam impinges on the bi-cell photodetector, regardless of the value of β. FIG. 10 illustrates the result of a change in the working fluid level from level 82 to higher level 84. The difference between levels 82 and 84 is the vertical distance d. Two different beams are shown arriving along first optical paths 151 and 152, and meeting the surface of the fluid at angles β₁ and β₂, respectively. The second optical paths 153 and 154 (for the first level 82) are set to impinge on perpendicular P at the same point Y₁. When the level of the working fluid rises to level 84, the beams follow second optical paths 155 and 156, respectively. Simple trigonometric calculations reveal that both second optical paths 155 and 156 will meet perpendicular P at the same point Y₂ and that the vertical distance between Y₁ and Y₂ is twice the value of d, the vertical change in level of the working fluid. Accordingly, varying β will not affect the accuracy of the method of measuring the level of a fluid according to the invention. The value of β to be chosen depends mainly on which angle will obtain satisfactory reflection of the beam within the constraints of the apparatus.

The working fluid level change will result in a change in the electrical signal emitted by the bi-cell photodetector. The photocells 140 in the bi-cell photodetector are separated by slit 160 (see FIG. 11) which is narrow, less than a mil thick. The output of both of the photocells will be equal when the bi-cell photodetector is not illuminated by the laser or when the laser beam is exactly centered on the slit 160 between the photocells 140. The outputs become unequal when the beam moves so that it impinges on one of the cells more than the other. Comparison of unequal outputs by a comparison circuit, as described below, will result in a signal being sent to the stepper motor 90 in order to drive plunger 95. The plunger 95 (see FIG. 9) will go up or down as needed to maintain the level of the working fluid. Additional reasons for maintaining a known level of the working surface are described in U.S. patent application Ser. No. 268,907 and Ser. No. 268,837, referenced earlier.

The plunger maintains the working fluid level at a substantially constant level in space. This is advantageous for it keeps the laser beam in focus. If the level were allowed to change, as would be the case for certain resin dispensing systems which dispose fresh resin into the vat at each cycle of part building, the laser would have to be refocused for the new level.

Referring now to FIG. 12, the current outputs 205 and 207 of the photocells 140 are delivered to current to voltage converter 200 which converts the output of each photocell to a voltage between 0 and -2.5 volts. The two voltage outputs 215 and 217 of the current to voltage converter 200 (each photocell 140 has its own output) are supplied to subtractor 220, where the voltage outputs are subtracted. With the addition of a reference voltage (not shown) the difference between voltage outputs 215 and 217 is a signal 225 which ranges between 0 and +5 volts. When the fluid is at its desired level, signal 225 is at +2.5 volts.

Signal 225 is sent to analog/digital converter 230 where the signal is converted to digital signal 235, which then goes to computer 240. Computer 240 compares signal 235 to the predetermined digital signal for the desired fluid level and activates stepper motor controller 245. Stepper motor controller 245 in turn activates stepping motor 90 (a Minarik Electric Co. LAS 3802-001 stepper motor in the preferred embodiment) which moves plunger 95 up or down to displace fluid in order to return the fluid level to the desired value.

The computer is programmed to measure fluid level shortly after a first dipping operation, in which the part is dipped by moving the elevator deeper into the fluid, and before the elevator is raised back up to "draw" the next layer onto the part. The level of the working fluid is measured and controlled only at this specific time in the building process. The computer compares the signal 233 to the reference value at this specific time only and generates the signal 242 to the stepper motor controller 245 that determines how long and in which direction stepper motor controller 245 will activate stepper motor 90.

It is noted that the working surface determined in the leveling procedure (expected working surface) may not correspond precisely to the actual working surface when the upper surface of the part is located 1 layer thickness below the working surface. This is due to displacement of excess building material by the platform support arms, or the like, when the part is overdipped into the material. One may expect that the above systematic error can have several effects on part building: (1) the expected working surface may not correspond to the actual working surface, thereby causing a change in beam focus and a change in horizontal dimensions of the cross-sections of the part; and (2) the actual layer thickness may not be the expected layer thickness. However, in presently preferred systems, the cross-sectional areas of the support arms are extremely small compared with the surface area of the container of building material and the overdip distance is typically only 5-8 mm for typical building materials, thereby making the above-described effects negligible. If, however, one wants to be get rid of these effects, it is within the ability of one of average skill in the art to take into account the volume and level differences and therefore to insure that the actual and desired working surfaces coincide.

STAGED RECOATING

In an embodiment of the recoating apparatus of the subject invention, the ability to vary several parameters associated with the blade recoating process is provided, which parameters include the blade gap (which is the distance between the doctor blade and the surface of the resin bath in the vat), the blade clearance (which is the distance between the blade and the top of the part), the number of sweeps, and the velocity of each sweep. Typically, the blade clearance will be, but may not be, the same as the layer thickness of the next layer to be formed.

The optimal size of the blade gap depends on a balancing of several considerations. A large blade gap is problematic since it may lead to creases in the surface of the resin bath which will take time to level out. This is so because the blade gap determines the extent to which the top of the part must be raised above the building material surface for sweeping, and also determines the extent to which the top of the part must thereafter be lowered in before curing of the next layer can begin. For a 125 mil blade gap, for example, and a desired blade clearance of 20 mils, the top of the part must be raised 105 mils above the material surface before sweeping can begin, and then must be lowered 125 mils before curing can begin so the top of the part will be 20 mils below the working surface. The greater the movement of the top of the part, the more disruption that will be caused at the surface of the building material by the movement of the platform and supports, and the rest of the part, into and out of the liquid resin. This disruption is what is referred to above as a crease. These creases will typically form at the interfaces between the untransformed building material and the part.

A small blade gap is also problematic since the smaller the blade gap, the more resin the doctor blade typically must push out on a given sweep. For a 0 mil blade gap, for example, where the doctor blade is kept right at the surface of the bath, although the crease problem referred to above may be eliminated, the doctor blade may be required to sweep resin off the entire vat surface. This may create a small "tidal wave" of resin, which may spill over the side of the vat, and which may "break" and form bubbles on the resin surface.

Additionally, when using a liquid photopolymer building material, it has been found that too small a blade gap can result in a problem called "leading edge hump." This problem occurs when the back of the blade is wet with a quantity of resin prior to it sweeping over the part. The quantity of resin that can buildup on the rear of the blade is inversely proportional to the drag forces that are trying to separate it from the blade as the blade sweeps. As the blade first encounters the region in the vat that is over the leading edge of the previously formed layer of structure, the drag forces can be increased tremendously. This can have the effect of tearing a substantial portion of the clinging material off the blade and depositing it on to this first encountered (the leading edge) of the part.

It has been found that a blade gap of 25 mils provides a good compromise between the problems referred to above. Typically, the blade gap will be set once before a part is built, and thereafter remain constant throughout part building.

Another parameter which is advantageous to vary is the blade clearance. Unlike the blade gap, however, it is desirable to be able to vary the blade clearance throughout part building instead of just once before part building. The blade clearance is generally made variable by variable positioning of the part using the elevator stage.

A variable blade clearance is advantageous, because it makes staged recoating possible. Staged recoating is where multiple sweeps of the blade are used for recoating a given layer, with a different blade clearance and possibly blade velocity at each sweep. Assuming a layer thickness of 20 mils for the next layer, for example, in a staged recoating process, the blade clearance for the first sweep might be 60 mils, for the second 40 mils, and for the third, 20 mils. As a result, at each sweep, a smaller amount of resin will be swept away than if a single sweep were used with a blade clearance of 20 mils, and a smaller bulge of resin will build up in front of the blade than if a single sweep were used. A large bulge building up in front of the blade is problematic when a trapped volume of resin is encountered by the blade. When a trapped volume is encountered, because of the force of gravity, a large bulge of resin may flow underneath the blade, and disrupt the desired layer thickness of the smooth layer forming in the wake of the blade. If the bulge were not allowed to build up in the first instance, then this problem could be made less severe. This problem can be illustrated with FIG. 13, which shows blade 300 in the middle of a sweep. Part 304 has been overcoated and is located beneath the blade by distance 303, which is the blade clearance. For simplicity of illustration, the blade gap in FIG. 13 is zero. Smooth resin surface 301 is formed in the wake of the blade, while a bulge of excess resin, identified by reference numeral 302, is formed in front of the blade. When the blade encounters a trapped volume of resin, identified with reference numeral 305, if bulge 302 is large enough, resin from the bulge may flow underneath the blade as indicated to disrupt the formation of smooth surface 301. This effect is less pronounced where the blade is travelling over a flat, horizontal surface of a part, since there is less room for the resin to flow underneath the blade.

Another parameter which can be varied is the speed of the blade, especially during staged sweeping, where a different speed can be specified for each sweep. It is advantageous to be able to tailor the blade speed to part geometry. When the blade is passing over a large, horizontal flat area of a part, if the blade is travelling too fast, too much resin may be swept away because of drag, which will induce resin below the blade to move at a particular velocity. If the blade is moving at 5 in/sec, for example, resin 1 mil below the blade may be induced to move at 4 in/sec, and resin below that may be induced to move at 3 in/sec. In some instances, drag may be so severe over flat areas, that substantially all liquid resin is swept away by the blade. Therefore, over large flat areas, it may be desirable to slow the blade speed down so that the above problem does not occur.

On the other hand, over trapped volumes, if the blade is moved too slowly, this may give the resin in the bulge more time to flow underneath the blade. Therefore, over trapped volumes, it may be desirable to increase the speed of the blade so that resin does not have time to flow underneath. However, the speed can be increased too much, thereby resulting in a scoopout problem like that mentioned when sweeping a flat region. Additionally, if it is increased too much, a wave of resin may be formed in front of the blade, which could break and form bubbles.

Unfortunately, it is difficult in general to obtain desired coatings by varying the speed of the blade as it sweeps over a given cross-section, depending on part geometry, since the blade may encounter a flat region and a trapped volume simultaneously. However, when a variable speed is provided for each sweep of staged recoating, the speed of the blade at each sweep and the number of sweeps can be chosen to minimize the above problems for a particular cross-section geometry. For example, it may be desirable for certain parts, where large flat areas and trapped volumes will be encountered, to use a large number of sweeps per layer, in the range of 3-10, or higher, with a relatively slow blade speed at each sweep. Because of the large number of sweeps, only a small amount of resin will be pushed away at each sweep, so that a bulge will not be able to build up and flow underneath the blade when a trapped volume is encountered. On the other hand, because of the slow blade speed, the problem of pushing away too much resin off of a large, flat, horizontal part surface will be minimized. This is because the blade will not be able to generate enough drag to sweep away the resin. Moreover, the slow blade speed will not be a problem over trapped volumes since a large bulge will not be allowed to build up, so there will be little or no problem of resin flowing underneath the blade even with the slow blade speed.

It is also advantageous to be able to vary the extent to which the part is overdipped into the resin before sweeping begins. As described earlier, the part is typically immersed beneath the surface of the resin by more than the desired layer thickness of the next layer. For example, in a commercial embodiment of a SLA known as the SLA-250 manufactured by 3D Systems, the assignee of the subject invention, preferred layer thicknesses are 1/2 mm. or lower. In the SLA-250, the part is typically overdipped into the resin by 8 mm, which is many times a typical layer thickness. Therefore, it is desirable to be able to vary this parameter depending on layer thickness.

A typical recoating cycle comprises the following steps: 1) deep over-dipping of the part; 2) detecting and adjusting resin surface level; 3) raising the part to the appropriate level so that it is located at the first blade clearance beneath the blade, a/k/a "up dipping"; 4) sweeping; 5) positioning the part for additional sweeps and performing these sweeps; 6) moving the part to its proper position, one layer thickness below the working surface, if necessary; and 7) delaying so that any intolerable surface imperfections settle out. The required delay time can be decreased by the application of vibrational energy to the surface of the building material. Techniques and apparatus for applying such vibration to the surface of the building material are disclosed in Ser. No. 495,791. Overdipping by more than a layer thickness not only ensures that excess resin will form over at least a substantial portion of the part which can be smoothed out during sweeping, but it also ensures that surface disruptions which could interfere with resin level detection in step 2) level out faster. If the part were immersed close to the surface, any surface disruption which could form above the part would take longer to level out. This is because the "channel" between the top of the part and the resin surface would be smaller, and would restrict the movement of resin needed to smooth out disruptions. Therefore, because of overdipping by more than a layer thickness, level detection is correspondingly made more accurate. Moreover, if overdipping were limited to one layer thickness, then thin layer thicknesses of 0.1 to 0.5 mm (approximately 4 mils to 20 mils) would be very difficult to recoat. But, these layer thicknesses may be necessary to build many parts with high resolution. Therefore, deep over-dipping also makes thin layers in this range easier to recoat.

In sum, in this embodiment, the ability to vary the blade gap, blade clearance, depth of overdipping, and blade speed, and the ability to use staged recoating, provide means to better tailor blade recoating to specific part geometries, so that specific problems associated with these geometries can be overcome.

IMPROVED BLADE DESIGNS

In an additional embodiment, the blade design can be varied to make it even more efficient. In the SLA-250, the cross-section of the doctor blade is a rectangle having a width of 1/8 inch. In addition, the blade is supported at only one end with a support rail, which guides the movement of the blade so that the blade and its support resemble a cantilever. This may cause problems known as "flutter" and "twist," whereby the unsupported end of the blade "twists" about its long axis, and "flutters" in the form of vertical oscillations, thereby leading to errors in the recoating process, such as nonuniform layer thickness. The extent to which the unsupported end will twist and flutter is proportional to the square of the blade length. An additional problem that may occur is the setting of the blade gap with this blade. This process involves many steps, each prone to error, and is also time-consuming. Moreover, it requires manually tightening screws which can exert torque on, and therefore deflect the blade, thus upsetting the accuracy of the procedure itself.

Modifications to the doctor blade are possible that address these problems. Some of these modifications have been included in a new stereolithography system known as the SLA-500, also developed by 3D Systems, Inc.

First, to enable blade gap setting to be more easily accomplished, micrometer screws are provided at each end of the blade, which allow the height of each end of the blade above the resin surface to be independently adjusted to the known value within a tolerance of 1/2 mil without exerting torque on the blade.

In addition, threaded, retractable needles are provided, one at each end of the blade, each of which extends a known distance from the bottom of the blade, which distance is equal to the expected blade gap. At present, the needles extend 25 mils beyond the bottom of the blade. If a different blade gap were desired, needles which extended a different amount could be used.

The needles are illustrated in FIGS. 14 and 15. FIG. 14 shows blade 400 with needles 401 and 402 provided near the ends. FIG. 15 shows a closeup of one of the needles which is mounted in the blade. As shown, the needle has an extended portion 403, which extends a distance 404 beyond the bottom 408 of the blade. In the SLA-500, the distance is 25 mils ±0.5 mils. As shown, the needle has a threaded portion 405, which is preferably a micrometer thread, having at least 60 turns/inch.

The needle mount in the blade is identified with reference numeral 409. As shown, the mount has a threaded portion 406, into which the threaded portion of the needle can be threaded, and stops 407, for controlling the extent to which the needle can protrude beyond the bottom of the blade.

To set the blade gap, the needles are used by screwing them into the blade until they reach the "stops" and they protrude the appropriate amount. Then, the micrometer adjustment screw at one end of the blade is turned until the needle at that end just touches the resin surface. When using a liquid photopolymer, this can easily be determined visually since the tip of the needle will form a large easily-observable meniscus with the resin surface when it touches the fluid surface. Thus, the needle can be placed at the surface within a tolerance of 1/4 mil. Next, the micrometer screw at the other end of the blade is adjusted until the needle at that end just touches the resin surface. Finally, the blade is raised relative to the surface, and then lowered to insure that both needles touch the surface at the same time. One method of raising the blade relative to the surface involves leaving the blade stationary and lowering the resin surface until the meniscus breaks. This is done by controlled use of the liquid level adjustment plunger. Then, the level is raised (using the plunger) slowly until contact is made between the needles and the liquid. If the blade is adjusted properly, this should occur simultaneously for both needles when the resin regains its proper level. If not, further iterations of the above cycle are made until they do. When they do, the blade gap is deemed set, and then the needles are retracted so they no longer protrude. They will remain in the mounts, however, so that the blade mass stays the same.

Other means for attaching the needles to the blade are possible, including the use of detente pins and release buttons similar to those used with a ratchet set.

To significantly reduce twist and flutter of the blade, a second support rail is added so that each end of the blade is supported by such a rail. This will greatly reduce or effectively eliminate twist and flutter at the unsupported end of the blade.

Because of the double rail support, the blade can be made thicker for increased strength, and also to reduce flutter in the middle of the blade. A thicker blade may not be possible with just one support since the blade would sag more. At present, SLA-500 blades are available at widths of 1/8 in, 3/16 in, and 1/4 in.

Finally, as shown in FIG. 16, the blade cross-section can be changed so it is no longer rectangular. First, the bottom of the blade can be constructed so that the non-horizontal edges of the blade near the bottom form angles, identified with reference numerals 506 and 507, known as the angles of attack and separation, respectively, with the resin surface. The angle of attack is the angle in the direction of blade movement while the angle of separation is the angle at the other end. These angles are added to better improve resin flow underneath the blade. without these angles, flow under the blade is more likely, which may create problems with trapped volumes. As a result, this may turn up as an imperfection in the part. By angling the edges of the blade, the pressure gradients are increased underneath the blade, leading to less fluid underflow and therefore possibly improved recoating of parts with trapped volumes. It has been found that, depending on part geometry, these angles can range between about 5 and 8 degrees, and in addition, the angle of attack can differ from the angle of separation. For the SLA-500, an angle of attack of 6 degrees is used.

The blade in FIG. 16 is shown as bisymmetric so that it can sweep in either direction. Alternatively, two asymmetric blades could be used alternatively to sweep in either direction with angles of attack in the direction of movement. Other blade configurations are possible.

FIG. 17 shows the blade of FIG. 16 where each vertex point is rounded. This may further reduce underflow. FIG. 18 shows a version where the entire bottom is rounded. FIG. 19 shows a version where the bottom is a sharp vertex.

LEVEL DETECTION USING A FLOAT

The levelling apparatus of the subject invention (which apparatus is used in the SLA-500) will now be described. This apparatus overcomes a problem which may occur with the bi-cell detector apparatus described earlier. As discussed earlier, the bi-cell apparatus may be sensitive to bubbles. To overcome this problem in that apparatus, a side tank is added in which bubbles are not formed, and the resin level is detected in the side vat. However, when a layer of resin is supported on a heavy immiscible fluid as described in U.S. patent application Ser. No. 365,444, the resin level in the side tank may not be an accurate determinate of the resin level in the main vat, as is assumed. This is because during part building, if the resin in each chamber only communicates with the resin in the other chamber through the denser immiscible fluid, resin in the main vat may be used up disproportionally compared with the side tank. Because of this disproportionality, the liquid in the side tank, when viewed as a whole, may not be as dense as that in the main vat. This may cause the resin level in the side tank to falsely read too high.

To overcome this problem, an apparatus including a float is employed in the SLA-500 to detect the resin level in the main vat instead of the bi-cell apparatus described earlier. The float has the advantage that it is relatively insensitive to bubbles, and so can be used to detect the level of the resin in the main vat as opposed to a side tank. This is because a bubble which attaches to the side of the float will not appreciably change its density, and hence the level at which it floats. Therefore, a side tank is not needed, and the float will accurately detect the resin level even if a layer of resin were floated on a heavy, immiscible fluid.

The float can take many shapes. For the SLA-500, the float is presently in the shape of a small can, having a volume of about 50 cc or more. In addition, the float is advantageously TEFLON coated, so that any resin that gets on the top, or wets the sides of the float, will rapidly drip or slide off, and not substantially change the density of the float for an appreciable period of time.

If a bubble were able to lodge itself underneath the float, this could cause an erroneous level measurement since it could change the extent to which the float is submerged. In this instance, to combat this problem, other float designs are possible, as shown in FIG. 20, which would discourage bubbles from lodging underneath the float.

The float apparatus presently used in the SLA-500 is illustrated in FIG. 21. As illustrated, the apparatus comprises float 602, supporting beam 603, bearing 604, and optical detection circuitry 605. As shown, the supporting beam is coupled to the float, which floats on resin surface 601 placed in vat 600. The beam is also vertically rotatable around bearing 604. In the SLA-500, bearing 604 is advantageously a class 9 bearing. In the present preferred embodiment, the length of the beam 603 between the float 602 and the bearing 604 is shorter than the length of beam 603 between bearing 604 and the optical detection circuity 605. This increases the sensitivity of level detection by causing a larger displacement of the optical blocking element of circuity 605 for a smaller displacement of float 602.

The optical detection circuitry 605 is shown in detail in FIG. 22. As illustrated, the circuitry comprises member 6051 which is coupled to beam 603, light-emitting diodes ("LEDs") 6052 and 6053, which emit light beams 6056 and 6057, respectively, and optical detectors 6054 and 6055, which detect the uninterrupted presence of light beams 6056 and 6057, respectively. The optical detectors are electronically coupled to a plunger or other means (not shown) described earlier for raising or lowering the resin level in response to electrical signals from the optical detectors.

Any change in the level of the fluid will cause a corresponding vertical displacement of the float. This, in turn, will cause beam 603 to rotate around bearing 604, which will cause member 6051 to displace vertically by a distance which is a magnification of the fluid displacement.

As long as the member 6051, as shown, is situated between and does not block either of the two light beams, 6056 and 6057, the uninterrupted presence of which is detected by optical detectors 6054 and 6055, respectively, the resin level is assumed to be at the correct height. The locations of optical detectors 6054 and 6055 are positioned so that light beams 6056 and 6057 barely miss being blocked by member 6051 when the resin is at the proper level. When member 6051 is moved even slightly, it will block either beam 6056 or 6057 from reaching optical detector 6054 or 6055, respectively. Only when member 6051 is deflected sufficiently to block the passage of one of the light beams to its corresponding optical detector, which will be detected by the failure of the optical detector to pick up light from its corresponding LED, will it be assumed that the resin is at an incorrect level. In this instance, a plunger or other means electrically coupled to the optical detectors will be either raised or lowered in order to position the resin level, and hence float, at the correct height. If beam 6056 is blocked by the member, which will be detected by optical detector 6054, it will be assumed that the resin level is too low, in which case a plunger or the like could be lowered into the resin until the resin level is raised to the correct height. If beam 6057 is blocked by the member, which will be detected by optical detector 6055, it will be assumed that the resin level is too high, in which case a plunger or the like could be raised out of the resin until the resin level is lowered to the correct height. Note that both of beams 6056 and 6057 cannot simultaneously be blocked by member 6051. Therefore, there will rarely, if ever, be an ambiguity with this apparatus, in the instance where the resin level is at an incorrect height, regarding whether the proper response thereto is to raise or lower the resin level.

SAMPLE RECOATING SOFTWARE

Sample recoating software used in an SLA-250, which uses a liquid photopolymer building material ("resin") will now be described. A specification for the software in the form of a flowchart is illustrated in FIG. 23. Before utilizing the software, a user must first specify certain parameters that will be used to control the movement of the platform. These parameters are ZA, ZV, ZW, and ZD. As described in more detail in U.S. patent application Ser. No. 331,644, the platform is under the control of a computer known as the PROCESS computer. ZA is the amount the PROCESS computer will cause the platform to accelerate or decelerate, ZV is the maximum velocity the platform will be allowed to achieve due to acceleration ZA, and ZD is the depth the platform is caused to overdip into the liquid resin before sweeping. As discussed earlier, ZD is typically much greater than a layer thickness. ZW is the settling delay, which is the amount of time the PROCESS computer is directed to wait after the platform has been lowered after sweeping to place the upper surface of the resin layer on top of the part at the same level as the resin in the vat. The PROCESS computer will wait the amount of time specified by ZW before beginning the curing process for the next layer.

Besides these parameters, the user may specify other variables for each layer or range of layers including SN, which is the number of sweeps per layer, and GV, which stands for global velocity, and indicates that all sweeps are to be made at the specified velocity. The user also may specify V1-V7, which are individual velocities associated with sweeps 1-7, respectively. By setting these values, the user indicates he or she wishes velocity to vary by sweep.

The process begins in step 700, when layer N is drawn. Next, in step 701, the platform is lowered beneath the resin surface by ZD at a speed determined by ZA and ZV. In step 703, a post-dip delay is implemented to allow settling of the resin since the platform has just been moved. This post dip delay is generally very short (a few seconds or less). Only a few second are needed since the resin is relatively viscous so that waves induced by the movement of the part are damped out quite rapidly. Additionally, only location of the part can cause long term perturbations of the surface, and the part has been moved far below the resin surface to eliminate these effects.

In step 704, a reading from the bi-cell detector is taken and then corrected for by subtracting a bias introduced by the circuitry (identified as BCVAL-BIAS). The reading is then compared with an upper limit, identified as UPLIM, and a lower limit, identified as LOWLIM. If between these two values, the resin level is assumed to be at the correct height.

Assuming the level is at the correct height, in step 705, a flag is checked to see if set. The flag is set in response to a key pushed by the user, which indicates that the user manually is adding or taking away resin from the vat. Once the flag is set, a key must be pressed a second time to indicate that the operator wants the system to begin the leveling process again. Assuming the flag is not set, in step 708, a check is made to determine that SN, the number of sweeps for layer N+1, is greater than 0, and that the platform is still in a safe position so that the blade will not strike it while sweeping. The upper bound for the platform position is identified by the mnemonic NOSWEEP. If these conditions are not met, the platform is raised by ZD-ZS (one layer thickness below the working surface). This is indicated by step 752 or 753. The process continues from this point with steps 749, 750, and 751, as will be discussed subsequently.

Assuming these conditions are met, in step 709, an internal counter, SWEEP, is first initialized to 0, and then incremented by 1. In step 710, the platform is moved to locate the part at the part/blade gap, and in step 711, the sweeper motor is energized (in the present terminology the part/blade gap is the blade clearance). In step 712, a check is made to determine whether the blade is at the front or back of the vat. Assuming the front for the moment, in step 713, the blade is swept to the back of the vat (which is a distance specified by SWEEPDIST) at a velocity which may depend on the current value of SWEEP.

When the blade has reached the rear of the vat, it will in the usual instance trigger a switch identified with the mnemonic LIMIT SWITCH. Assuming the limit switch has been activated, in step 727, a check is made to determine whether all the sweeps specified by SN have been performed for the layer. Assuming they have not, a jump is made back to step 709, where the above cycle is repeated, starting with the incrementing of SN by +1 (we do not reset sweep to 0).

Turning back to step 714, in the case where the limit switch has not been activated, the blade is slowly moved towards the rear at the velocity of 0.5 in/sec., and assuming the limit switch is activated within 2 seconds, a jump is made to step 722. Assuming it is not so activated, the process is aborted in step 721.

Turning back to step 712, assuming the blade is at the back of the vat, in step 717, the blade is swept towards the front at a velocity which may be a function of the current sweep number, and in step 718, a check is made to see if the limit switch has been activated. Assuming it has, a jump is made to step 722. If it has not, in step 719, the blade is slowly moved towards the front at a velocity of 0.5 in/sec., and if the limit switch is activated within 2 sec., a jump is made to step 722. If it is not, the process is aborted in step 721.

Turning back to step 704, which is right after the platform (and part) have been overdipped below the resin surface, if the resin level is not at the appropriate height, a check is made in step 723 to see if it is too high or too low. If BCVAL-BIAS is not greater than UPLIM, the resin level is too low, and the plunger must then be lowered into the resin. In step 724, a check is made to see if the plunger is already at its lower limit of travel, and assuming it is not, in steps 725 and 726, the plunger is lowered, and the plunger position, identified with the mnemonic PLUNGPOS, is updated. In step 727, a delay is instituted to allow the resin to settle, and a jump is made to step 704 to check the resin level again. The above cycle then repeats.

Turning back to step 724, assuming the plunger is at the bottom of the vat, there are two possible mechanisms by which the resin level can be raised: 1) by adding resin to the vat (this could, of course, be automated by the addition of a resin pumping means or the like); or 2) by the liquid level rising on its own (e.g., due to an increase in its temperature). In step 732, the level is checked again, and assuming it is still too low, in steps 733-734, the user is asked to press a key indicating he or she will manually add resin. Until the key is pressed, the process will loop. While waiting for the key to be pressed, the resin level may rise on its own (e.g., increase in temperature). If this occurs, a corresponding "yes" response to step 732 occurs, and the process automatically continues by proceeding back to step 704. If this rising of the resin doesn't occur spontaneously, through temperature fluctuations or the like, resin can be added manually. The desire to manually add resin is initiated by pressing a key. When the key is pressed, a flag is set (the same flag which is checked in step 705). While the user presumably adds resin to the vat, in step 739, the process will loop until the resin level is at the correct level. When it is, in step 740, a message is sent to the user indicating that enough resin has been added, and a jump is made to step 704.

Turning back to step 705, after the resin has been added so that the resin level is at the correct height, the flag must be reset. This condition is detected in steps 705 and 706, and in step 707, the flag is reset. This manual resetting of the flag ensures that the system doesn't automatically start up when it detects the appropriate resin level since the operator may still be working on the machine. After resetting the flag, the system continues to automatically loop through step 704, checking the resin level for 30 seconds to ensure everything is operating properly (e.g., resin temperature and height are stable).

Other embodiments are possible, which include means to automatically add or take away resin from the vat when the plunger reaches one of its limits, such as a pump or the like which is responsive to means for detecting when the plunger is at one of these limits.

Turning back to step 723, in the case where BCVAL-BIAS is greater than UPLIM, indicating that the resin level is too high, the plunger must be raised. A check is made in step 728 to see if the plunger is already at its highest possible position, indicated by 0. Assuming it is not, in steps 729-730, the plunger is raised, and the plunger position, identified as PLUNGPOS, is updated. Then, in step 731, a settling delay is instituted, and a jump is made back to step 704.

Turning back to step 728, assuming the plunger is at its highest position already, and cannot be raised anymore, the user must be notified to remove some resin from the vat or the system must wait for the resin level to drop on its own. In step 741, a check is made to determine that the resin level is still too high, and in steps 742-743, the user is sent a message, asking him or her to remove resin, and is asked to press a key acknowledging the message. Until the key is pressed, the process will loop. The process will continue when circumstances allow provided that this occurs before a key is pressed. When the key is pressed, in step 744, a flag is set, and in step 745, while the user is removing resin, the resin level is checked until it is at the appropriate height. Until it is, the process will loop. When the level is at the correct height, in step 746, the user is notified to stop removing resin, and a jump is made back to step 704. In steps 705-707, as discussed earlier, a key is pressed to reset the flag.

Note that levelling need not be performed at each layer, but only when the level may have changed because of any of the following: 1) thermal expansion; 2) shrinkage; and 3) changing displacement caused by platform supports. If none of these are present or not considered of significant magnitude, levelling need not be conducted on every layer. Instead, leveling may occur at any appropriate interval, periodically or nonperiodically, as the circumstances dictate, such as on every other layer, or every fifth layer or in some other sequence.

Turning to steps 747-749, when all the sweeps for layer N+1 have been performed, the sweeper motor is de-energized and the platform is adjusted, if necessary, to place the upper surface of the last layer one layer thickness below the working surface of the resin, a settling delay equal to ZW will be instituted, and in steps 750-751, the vectors for layer N+1 are computed, and the layer drawn using these vectors in step 751. More detail on computing vectors and drawing layers is provided in U.S. patent application Ser. No. 331,644. Of course, if parallel processing occurs, step 750 can be performed while the leveling and sweeping processes occur.

The above cycle is then repeated for the remaining layers of the part.

A listing of recoating software, version 3.60, used in the SLA-250, will now be provided. The software comprises the following modules, written in TURBO PASCAL, each of which is listed in turn:

    ______________________________________                                         Module          Description                                                    ______________________________________                                         UTLSWEEP.PAS    Controls sweeping during part                                                  building; used in conjunction                                                  with BUILD                                                     SINSTEP.PAS     Allows sine wave stepping of                                                   the platform during recoating                                  MACHINE.PRM     includes sweeping                                                              input/default parameters                                       AUTOLEVEL.PAS   performs leveling in between                                                   the drawing of layers                                          UTLADJUST.PAS   used to set resin level before                                                 building a part                                                RECOATER.PAS    uses above programs to perform                                                 recoating action external to                                                   BUILD                                                          ______________________________________                                    

As described in more detail in U.S. patent application Ser. No. 331,644, BUILD is the program which orchestrates the building of a part. As indicated above, the programs will, in the usual instance, be used in conjunction with BUILD. Together, these programs will provide functionality substantially similar to that described above with respect to FIG. 23. RECOATER.PAS, however, provides a means to perform recoating independent of BUILD. The software listings follow:

Copyright© 1989, 1990 3D Systems, Inc. ##SPC1##

ADDITIONAL IMPROVED BLADE DESIGNS

Several additional embodiments of the subject invention will now be described, where the design of a recoating blade is changed in relation to the conventional blade design shown in FIG. 24(A). As discussed previously, it may be advantageous to increase the cross-sectional width 802 of these blades so that it is greater than the width of trapped volumes typically encountered in order to help eliminate the problem of excess resin back-flowing underneath the blade when it is passing over trapped volumes ("flowback"). This problem occurs when the bow wave created in front of the blade creates a pressure head which drives the resin downward and underneath the moving blade. Increasing the cross-sectional width will help reduce or alleviate this problem, but increasing the cross-sectional width too much may introduce lift or drag forces as illustrated in FIG. 24(B), in which like reference numerals refer to like elements.

In the Figure, blade 26 is shown moving from left to right (a zero blade gap is shown for simplicity of illustration) over the surface 20 of resin bath 11. When the blade is at position a, it will be moving at a certain velocity, which will induce the resin immediately below it to also move at that same velocity. Resin below the blade but spaced from it more remotely will be induced to move at a velocity uniformly distributed along a gradient over the dimension 800 from the bottom of the blade to the bottom of container 10, with resin directly beneath the blade moving at the blade velocity and resin at the bottom of the container moving at zero velocity.

When the blade has moved to position b, so that it is just moving over part 40, the situation will change dramatically. As before, the resin beneath the blade will also be induced to move at a velocity uniformly distributed along a gradient over the dimension 801 between the bottom surface of the blade and the top surface of the already-formed portion of part 40. Since the dimension 801 over which the velocity must be distributed has decreased so dramatically, the result will be a large sheer force exerted on part 40, which may cause it to rotate around the weakest bending moment. The sheer force which can be exerted is calculated to typically be 1-2 oz., and will increase with the speed of the blade, the use of thinner layers, with the viscosity of the resin, and with an increase in the width of the blade. As a result, in FIG. 24(B), the surface of the part may rotate or be distorted from 40 to 40', and the part may even strike the blade, as shown at point 41, thereby stopping or impeding its progress. Additional reference material can be found in Streeter, V. L., Fluid Mechanics, McGraw-Hill, New York, 1958, pages 195-197, which is hereby incorporated by reference as though set forth in full herein. As explained therein, thinner layers will result in more sheer forces since they decrease the distance over which the induced velocity must go to zero. As a result, a feedback loop may be created in which a thin layer creates lift forces which pull the already-formed portion of the part 40 towards the blade, which further reduces the distance over which the gradient is distributed, thereby further increasing the lift forces which pull the part even closer etc., until the part actually contacts the blade.

Therefore, the cross-sectional dimension of the bottom of the blade which contacts the resin surface (identified with reference numerals 802 in FIG. 24(A)) should be reduced to avoid the lift problem. It has been found for typical conditions that a cross-sectional dimension greater than about 0.1 in, should be avoided.

Another problem with this blade configuration is illustrated in FIG. 24(C), in which like reference numerals designate like elements.

Again, blade 26 is shown traveling from left to right over surface 20 of resin 11 on container 10. When the blade is located with its bottom surface at or near the surface of the resin, building material may be wicked up the front and rear surface of the blade. Strictly speaking, if the blade is located with its lower surface located above the resin surface then contact between the blade and the resin must be made before any material can wick up the blade. This contact can be made in a number of ways, the most typical of which is the sweeping of excess material from the previous layer of structure. The amount of material wicked up the blade depends on the material the blade is made of, the properties of the resin, and the spacing between the resin and the blade. It has been found that for a blade gap of 25 mils or less a significant amount of material can be held to the back and front sides of the blade. The material 804 that clings to the front of the blade is not felt to induce significant problems since this material simply joins with the large head of material 804' that collects at the front of the blade as it sweeps across the building material. However, the material 803 that creeps up the back of the blade and clings to it can cause a significant part building problem known as "leading edge hump."

When the blade encounters the part, the large increase in sheer force typically causes the small lump of resin attached to the trailing edge of the blade to be deposited on the resin surface at the point where the already-formed portion 40 of the part is encountered. This is represented by identifying numeral 803' in the Figure, which bump is typically about 6-10 mils in height. The blade, meanwhile, has already moved to position c, and the bow wave 804' has continued to form in front of the blade.

The small bump of resin will result in a nonuniform layer which may show up as a distortion in the final part, since gravity may not smooth out the bump sufficiently by the time the synergistic stimulating means has transformed the resin.

This problem may be quite severe. As mentioned earlier, the distortion on a given layer can typically be about 6-10 mils. Since this may occur in the same area over and over again, i.e., at the leading edge of contact between the blade and the part (one side or the other of the part depending on the sweep direction), even a small bump can build up from layer to layer. Additionally, depending on the blade clearance, a growing bump or a bump developed from a single sweep can result in a collision between the part and the blade. In sum, the overall distortion can be many times the distortion of a particular layer.

It has been found that blades having cross-sectional sides which form an angle below 90° with the surface of the resin will help solve the resin deposit problem. This is because the smaller the angle, the greater the horizontal component of the surface tension force holding the resin bump onto the blade, which will act to oppose the sheer force tending to separate the resin bump from the blade.

This can be explained with the aid of FIG. 25, in which like elements are identified which like reference numerals, which shows the side of blade 26 at an angle Θ (identified with reference number 805) with the surface 20 of the resin, which surface is a distance h (identified with reference numeral 807) above the top - most surface of the already-formed portion of part 40. The sweeping direction of the blade is toward the right. Also shown is the resin bump 803 which has been formed on the trailing edge of the blade. The resin bump has a linear extent b (identified with reference numeral 806).

Assuming the following additional definition of terms,

σ=resin surface tension

μ=resin viscosity,

it has been found that the velocity of the blade u* at which the resin lump will separate and be deposited onto the resin surface, can be approximated by the following expression: ##EQU1##

Therefore, this expression predicts that for a vertical blade, for which Θ=90°, the separation velocity u* will also be zero, and any finite blade velocity will therefore result in depositing of the resin hump. This prediction matches well with experimental results.

The expression also predicts that u* is proportional to h, that the separation velocity can be increased by using thicker layers, and that the deposit problem will be worse with thinner layers.

The expression further predicts that the separation velocity is inversely proportional to the resin viscosity, that the separation velocity can be increased by using less viscous resins, and that the deposit problem will be worse with highly viscous resins.

The expression further predicts that decreasing Θ will increase the separation velocity. However, there are safety and fabrication concerns which limit the extent to which Θ can be decreased. It has been found that a Θ of about 30° is a reasonable compromise, particularly since the separation velocity at this angle will be close to its theoretical maximum. At this angle, a decrease in the hump deposited from 10-20 mils to about 1-2 mils is possible.

Still, however, for high viscosity resins and thin layers, even at this angle, the separation velocity will be quite low, and hence, the blade velocity must likewise be kept low in order to avoid the deposit problem. For example, assuming the following values for the above-mentioned parameters,

μ=2000 centipoise=20 gram/sec-cm

b=0.1 cm.

h=10 mils=0.025 cm

Θ=30°

σ=300 grams/sec.² (approx. value for XB-5081),

then the separation velocity is predicted to be about 1.3 in/sec., which is relatively low. Still, a value of Θ=30° will significantly increase the separation velocity compared to a vertical blade cross-section.

A preferred embodiment of a blade which is designed to reduce the aforementioned problems is illustrated in FIG. 26.

As shown, the preferred embodiment has two wings, identified with reference numerals 813 and 814, having sides which are at angles 811 and 812, respectively, with resin surface 20. Preferably, angles 811 and 812 are about 30°.

Dimensions 808 and 809 should each be less than about 0.060 in., and preferably about 0.030 in. or less, and dimension 810 should be at least 0.010 in. or more, and preferably about 0.030 in. If dimensions 808 and 809 are too large, or if dimension 810 is too small, then layer uniformity is adversely affected. Large values of dimensions 808 and 809, or alternatively, small values of dimension 810, can result in too much blade/resin surface contact, which can induce a lift or drag force on the part, and can lead to blade/part contact for the reasons discussed previously.

Dimension 815 should be greater than 0.375 in., and preferably about 0.5 to 0.75 in.

This embodiment considerably reduces the leading edge deposit problem relative to simple vertical blades, and is also capable of uniform recoating of thin (0.003 to 0.005 in.) layers.

A variant on the embodiment of FIG. 26 is shown in FIG. 27, which is characterized by an additional member 816 between the two outlying members 813 and 814. This variant is advantageous since it performs better on small trapped volumes than the embodiment of FIG. 26, and is known as the "Trident" embodiment, compared to the earlier "winged" embodiment.

The postulated reason for this is illustrated in FIG. 27(B), in which the blade embodiment 26 of FIG. 27(A) is shown moving from left to right over trapped volume 820 which has a dimension in the sweep direction smaller than the width of the blade.

As shown, bow wave 804 has formed in front of the blade, and as the blade passes over the trapped volume, some of the resin that has built up in the bow wave will have a tendency to flow underneath the blade due to the pressure of the bow wave. The presence of member 816 will impede the backflow, not only by its physical presence, but also because it will increase the air pressure in areas 817 and 818 compared with what the pressure would otherwise be without the member being present. By increasing the air pressure in these areas, less backflow can take place into these areas. Therefore, the member will act to indirectly reduce backflow also. With this embodiment, however, it is important that dimension 810, which is the height of the member, be kept below a maximum so that the air pressure will be kept high enough, but greater than a minimum so that the resin doesn't believe a wide blade is crossing over it. It has been found that an acceptable dimension is about 0.030 in.

Another problem which sometimes occurs in the "scoopout" or "dragout" problem, whereby backflow over a trapped volume is reduced so much that the blade actually scoops out too much resin from a trapped volume, leaving the remaining resin therein too low.

The problem is illustrated in FIG. 28, in which blade 26 is shown traveling from left to right over trapped volume 820. As shown, a bow wave 804 has formed in front of the blade. However, the small depth 821 of this trapped volume has restricted the backflow form the bow wave, causing too much resin to remain as part of the bow wave, and get scooped out of the trapped volume. This, in turn, causes the resin remaining in the trapped volume to be too low by the distance 823.

Scoopout is caused by the blade inducing a shear force on the resin. The induced shear force, in turn, is directly related to the distance over which the induced velocity from the blade will be reduced to zero in a vat of resin having a nearly infinite depth. This distance is defined as the boundary layer depth, and depends on the width of the blade making contact with the resin, the velocity of the blade, and the viscosity of the resin. For a 1/8 in. wide blade traveling at 4 in/sec. in a 300 cps resin, for example, the boundary layer depth is about 1.8 in. For a 5/8 in. wide blade traveling at 4 in/sec. in a 3000 cps resin, the boundary layer depth is about 4.2 in. Scoopout will be a problem when the depth of the trapped volume is substantially less than the boundary layer depth of the blade, since in this instance, boundary conditions will cause the velocity gradient to be sharper than it would otherwise be over resin having an infinite depth, which will exert a shear force on the resin in the direction of sweep. This will tend to reduce the backflow, which is caused by another force, the pressure from the bow wave. The result is scoopout or dragout. This is similar to dragout that occurs over a flat portion of object when the blade is swept too quickly.

Scoopout can be reduced by lowering blade velocity, but also can be helped through blade design.

Compared to the FIG. 24(A) embodiment, the embodiments of FIGS. 26 and 27(A) are effective in reducing scoopout or dragout since the contact area between the resin and blade is still lower. If scoopout still proves to be a problem, recoating could occur in multiple sweeps, with the velocity on the last sweep reduced sufficiently to alleviate the problem.

Compared to the simple vertical blade, these embodiments are also more effective in reducing shear stress on the part, reducing the bump deposited on the leading edge of the part, and in handling trapped volumes. They also provide thinner layers uniformly, to layers as thin as 3 mils. Although the deviation in uniformity (measured by the distance between peaks and valleys) with large trapped volumes was still considerable, more of the deviation was caused by scoopout rather than backflow, which problem is detrimental to part accuracy, but doesn't generally lead to catastrophic collision between the blade and part. The backflow problem, by contrast, can lead to catastrophic failure. Also, the difference in uniformity from large to small trapped volumes is reduced by about 3 fold. Staged sweeping may lead to even more uniform coatings.

A further refinement of the FIG. 27(A) embodiment is shown in FIG. 29(A), which is characterized by a larger width and two internal members rather than just one. In those occasions where both large and small trapped volumes are typically encountered, the blade shown in FIGS. 29(B) and 29(C) can be used. As shown, the blade is characterized by a larger width (2.375 in.) and multiple internal members (9, excluding the two outside members). This blade has achieved a film uniformity of 2 mils over trapped volumes of many different sizes and depths.

ADDITIONAL SLA-250 RECOATING SOFTWARE

A commercial embodiment of the SLA-250 recoating software is illustrated in the flowcharts of FIGS. 30(A), 30(B), and 30(C). FIG. 30(A) describes the overall sweeping and leveling process, FIG. 30(B) describes the subroutine used to read the bi-cell photodetector, and FIG. 30(C) illustrates a subroutine used to wait a sufficient amount until the resin level is sufficiently stable.

Turning to FIG. 30(A), as indicated by step 900, the name of the subroutine which performs the overall sweeping and leveling function is DoSweep. After DoSweep has been called, in step 901, a 3D state file is checked for essentially two parameters: 1) the location of the Z-stage elevator; and 2) the location of the plunger. Updated values for both of these parameters are maintained in the 3D state file. Then, in step 902, the elevator platform is over-dipped below the resin surface. In step 903, the subroutine Liquid Stable Delay is called (to be discussed subsequently) to ensure that the liquid surface has settled sufficiently before processing. To further guarantee this, in step 904, an additional delay of 3.5 seconds is caused to take place.

In step 905, a decision is made based on the parameters numchecks and Demoflag. These parameters are defined as follows: the value of numchecks is usually set to a logical "1," indicating that the fluid level should be checked for each layer. Demoflag is usually set to a logical "0" indicating that a demo is not being run. Therefore, in the usual case, a jump is made to step 915 before proceeding on to step 906. If the Demoflag were a logical "1," indicating that a demo was being run, the resin level would usually not be checked.

If numchecks equals "0" or Demoflag is set to a logical "1," than step 906 is branched to immediately. In step 906, the parameter NumSweeps is checked, which parameter is the number of sweeps desired for the current layer. If the value of this parameter is less than or equal to zero, or it would not be safe to sweep (such as may occur if the blade could hit the elevator), then in step 907, the elevator is moved so that the net displacement has (step 902 and step 907) has moved the elevator down 1 layer thickness so that the elevator is no longer in the path of the blade. Delays are invoked in steps 912 and 913, and the subroutine returns in step 914.

In step 906, if NumSweeps is greater than 0, and it would be safe to sweep, then in step 908, the counter 908 is initialized, in step 909, the counter value is compared to the value of NumSweeps, and if less, in step 910, a sweep is caused to occur. In step 911, the counter is incremented, and a jump made back to step 909, where the process repeats itself. When all sweeps have been performed, a return is made in step 914. Not shown in between steps 909 and 911 (but existing in the software) are the steps of moving the elevator platform (and part) for staged sweeping.

Turning back to step 905, assuming the conditions indicated there are met, in step 915, the flag OKFirst Try False is initialized to a logical "0," and in step 916 the parameter Times Thru is set to 0. This variable is used to count the number of loops that have been taken through steps 922-939 in the course of checking the resin level. As will be seen, if this value exceeds a certain amount, then the checking of the resin level will cease. In step 917, the value of the bi-cell photodetector is read by calling the routing ReadBicell (to be described subsequently). The value returned will be within the following range: ##STR1##

In other words, the more negative the value, the higher the resin level. The highest tolerable resin level for continuing with part building corresponds to a value of -4, which is the lowest value possible (hence the name Lowlim). Conversely, the lowest resin level tolerable for continuing with part building corresponds to a value of +4, which is the highest value possible (hence the name Uplim).

In steps 918 and 919, if the value is within the tolerable range, then a jump is made to step 906 to begin the recoating process.

If the value is outside the tolerable range, then in steps 920 and 920, if the variable Numchecks is a -1 (which is the usual setting), then the variable NumSet Plungers is initialized to 25.

Next, in step 923, the value of the bi-cell detector is read. In step 924, the test T₋₋ 1 is performed. This test returns a logical "1"60 if three conditions are satisfied: 1) NumSet Plunger=25; 2) Num times thru ≧1; 3) level is between Uplim and Lowlim. If these three conditions are met, this indicates that at least one pass through the loop of steps 922-939 has taken place, and that the resin level is at the correct level. In this case, the flag OK First Time Thru is set to a logical "1," which flag will be used in step 938 to kick out of the loop before the maximum number of 25 loops has been attempted.

In step 926, if the resin level is too low, determined when the value returned is greater than Uplim, in steps 928-930, the plunger is repeatedly lowered until the level is less than Uplim, and therefore within the tolerable range.

In step 927, if the resin level is too high, determined when the value returned is less than Lowlim, then in steps 931-933, the plunger is repeatedly raised until the resin level is greater than Lowlim, and therefore within the tolerable range.

In step 934, the locations of the elevator and plunger are updated in the 3D state file, and in step 935, the variable Times thru is incremented. As indicated earlier, this variable tracks the number of times the steps of 922-939 have been gone through. Next, in step 936, the subroutine Liquid Stable Delay is called in order to allow the resin surface to settle sufficiently, and in step 937, the variable Times thru is compared with the value of NumSet Plungers, previously set to 25 in step 921. This step checks to see if more than 25 passes through the previous loop (comprising steps 922-397) has taken place, without the resin level being set to a level within the tolerable range. When this occurs, the subroutine Plunger Holding Torque is called in step 939. The plunger is activated by a stepper motor with four coils, and this motor will get extremely hot if all four coils are allowed to remain activated. This routine is called to deactivate one of the coils since the plunger will not be needed anytime soon. When the plunger is next needed, the coil will be reactivated. Then, a jump is made to step 906 in order to sweep the blade the designated number of times.

In step 938, the variable OK First Time Thru is checked, and if a logical "1," indicating that the T₋₋ 1 test of step 924 has been fulfilled, a jump is made to step 939, where the subroutine Plunger Holding Torque is called. This has been described earlier. If this variable is a logical "0," indicating that the T₋₋ 1 test of step 924 has still failed, then a jump is made to step 922 to repeat the loop of steps 922-937.

The ReadBicell subroutine is illustrated in FIG. 30(B). The subroutine begins in step 1000, and in step 1001, the variable Level Reading is set to 128. In step 1001, the variable Recurs is checked, which is set to one of the following three values before the subroutine is called:

"R"=recursive

"N"=normal (1 sample)

"S"=5 samples

An explanation of these values is as follows: 1) "R" indicates that the resin level may be so far off, that the bicell detector will not be able to detect the laser light at all. In this case, the subroutine Read Bicell calls itself recursively with a larger allowable step size for movement of the plunger; 2) "N" indicates that one sample is to be taken; and 3) "S" which is the usual case, indicates that an average of 5 samples is to be taken. If Recurs is set to "N" or "R," then the variable Count is set to 1, indicating that only one sample is to be taken; if Recurs is set to "S," then in step 103, the Count variable is set to 5, indicating that 5 samples are to be taken, and an average used. In step 1004, the variable Sum is set to 0, and in step 1005, the variable k, which will be an internal sample counter, is set to 1.

In step 1006, if k is greater than Count, indicating that all the allowed samples have been taken, a jump is made to step 1011. Otherwise, in step 1007, a reading of a sample is initiated by sending the value 12 to port $30c.

In step 1008, the internal counter i is initialized to 1. This counter is used in steps 1009 and 1010 to loop a sufficient amount (and therefore delay) before reading the bicell value from the A/D converter at port $30c in step 1018, since the A/D converter requires a certain time to perform its conversion.

In steps 1009 and 1010, 100 loops occur, for a total delay of 1000 μ sec. Then, in step 1017, the counter is reinitialized to 0. As will be described subsequently, this counter is now used in the process of obtaining a valid reading from the bicell detector. If a valid reading is not obtained after 2000 attempts, to be described subsequently, then no further attempts will be tried. In step 1018, the counter is incremented. In step 1019, the variable b is set to the value of the reading from port $310, which will indicate the status of the reading from port $30c. In the step 1020, the bicell level is read from port $30c, assigned to the variable NewLevel, and in step 1021, the status of the reading is checked. If a valid reading has been obtained, indicated by the status indicator having a value less than 128, then in step 1023, the value of New Level is decreased by the value of Level Reading, earlier set to 128 in step 1001. It turns out that the bicell reading is being obtained from an A/D converter which returns a value between 0 and 255, with 128 indicating the median level. Thus, 128 is subtracted in order to provide a range where the median level is 0, and where possible values can range from -128 to +128. Then, in step 1024, the variable Final level is set to the value of New level, and in step 1025, the value of Sum, initialized to 0 in step 1004, is increased by the value of Final level. The value of k is incremented i step 1026, and a jump is made back to step 1006. In the case where only 1 sample has been called for (when Recurs is set to "N" or "R"), a jump is made to 1011, and then to 1014 (since Recurs is not equal to "S"), which further jumps to step 1013 (assuming New level is not equal to bias). In this step, the value of Final level is returned as the bicell reading. In steps 1014 and 1015, if the variable New level is equal to the bias, this indicates that the bicell detector has not detected the laser light at all, and therefore only provides a reading of a bias value. If the variable Recurs is set to "R", indicating that recursion is allowed, then in step 1016, the subroutine recursively calls itself, with a larger allowable value for the plunger stepper motor. When the recursive call returns, the level will be at the correct setting, and a jump then made to step 1013, to return to the initial point of invocation. Back to step 1006, in the case where Recurs has been set to "S," and 5 samples are called for, then the steps 1006-1026 are looped through for a total of 5 times, with the value of the bicell reading added to the variable Sum each time. When these samples have been taken, a jump is made to step 1012, which sets the variable Final level to the average of the 5 readings. Then, step 1013 is invoked, which returns with the value of Final level.

The subroutine Liquid Stable Delay is illustrated in FIG. 30(C). The subroutine began in step 2000, and in step 2001, the variable Num of good reads needed is initialized to the value 3. This indicates the number of consecutive reads for resin stability that are required in a more elaborate test (to be described subsequently).

In step 2002, the variable Delay type is checked, and if set equal to 0, indicating that only a more stringent check of the stability of the resin is to be made (in the usual case, the value of Delay type is other than 0), a jump is made to step 2003. If the delay type is not set to 0, a jump is made to step 2012 (the typical case), where a minimal check of resin stability is made. The variable Num of good reads is set equal to the value of Num of good reads needed minus 1, indicating that only one good reading of resin stability is required, this being the less elaborate test. Since the latter is set for 3 in step 2001, the former is set to 2 in this step.

In step 2013, the two are compared, and if the value of Num good reads is less (which is the case here), a jump is made to step 2014. Otherwise, a jump is made to step 2018, where a return is made to the point of invocation, since the number of good reads exceeds the number needed.

Back to step 2014, the bicell detector is read twice, and in step 2015, if the difference in readings is less than 4, indicating that the resin level has achieved a certain amount of stability, in step 2017, the variable Num good reads is incremented, and a jump made back to step 2013. If the difference is not less than 4, indicating that the resin level has not achieved the desired stability, in step 2016, the variable Num good reads is reinitialized to one less than the number needed, and a jump made to step 2013. In the case where one good read has been obtained, a jump is made to step 2018, which returns to the point of invocation. Otherwise, the steps 2013-2017 are repeated until a good read has been obtained.

Back to step 2003, in the case where a delay type of 0 has been specified in steps 2003 and 2004, the variables Num of good reads, and Total reads, are initialized to 0, and in step 2005, the value of Num of good reads compared with the number needed. If less, a jump is made to step 2006, where the subroutine Read Bicell is invoked, with a value of Recurs set equal to "S" (indicating that an average of 5 samples is to be taken). In step 2007, the variable Total Reads is incremented, and in step 2008, the returned value from the bicell detector is checked. If within the range of ±15, (out of a possible range of ±128), indicating that a certain closeness to the desired level has been achieved, then in step 2009, the variable Num good reads is incremented. If the value is not within this range, indicating that the level is still not very close to the desired level, then in step 2010, the variable Num goods reads is reinitialized to 0. In step 2011, a check is made to see if the value of Total reads exceeds 10, and if so, a return is made in step 2018. These steps therefore require that three consecutive good readings of resin stability occur in order get a no response to 2005 and to proceed with st ability checking. In other words, if three consecutive good reads have not been achieved in 10 tries, the routine bails out. If not, a jump is made back to step 2005, which loops through the steps 2006-2011 until three consecutive good reads have been obtained. When this occurs, then a jump is made to step 2012, which invokes the steps discussed earlier (ensuring that two consecutive bicell reads differ in value by less than 4). Then, a return is made in step 2018 to the point of invocation.

While the invention as described herein has been directed to specific embodiments, various modifications thereto can be employed. For example, while excess polymerizable liquid has been described herein as being struck off by a doctor blade, other means for such removal can obviously be employed, such as rakes and the like. As another example, a radiation source and sensor have been described herein as means to detect the level of the upper surface of the bath of polymerizable fluid, whereas a wide variety of mechanical, electronic, pneumatic, and other devices can be used to detect this level. For example, an apparatus using a float has been described. Other modifications and improvements can be used without departing from the scope of the invention. Accordingly, it is not intended that the invention be limited, except by the appended claims. 

What is claimed is:
 1. A system for measuring the surface level of a fluid medium in a vessel of an apparatus for stereolithographically producing a three-dimensional object from the fluid medium, solidifiable by synergistic stimulation comprising:a first chamber of said vessel for containing fluid medium; a second chamber of said vessel connected to the first chamber with at least the fluid medium surface in the second chamber separated from the fluid medium surface in the first chamber; and means for measuring the fluid medium surface level in the second chamber, thereby allowing the fluid medium surface level in the first chamber to be determined from the measured fluid medium surface level in the second chamber.
 2. The apparatus of claim 1 wherein the means for measuring comprises:a source for generating abeam of non-synergistic electromagnetic radiation; a beam director for directing the beam along a first optical path to impinge on the surface of the fluid medium in the second chamber so that a detectable portion of the beam is reflected off the surface along a second optical path; and a sensor that varies a signal in response to movement of the impinging electromagnetic beam across the sensor.
 3. The apparatus of claim 2 wherein the source for generating a beam comprises a laser.
 4. The apparatus of claim 2 wherein the sensor comprises a bi-cell.
 5. The apparatus of claim 4 further comprising means for forming the signal from a difference of two separate signals generated by the bi-cell.
 6. The apparatus of claim 1 wherein the first and second chambers are connected to allow intermixing of the fluid mediums between the chambers.
 7. The apparatus of claim 1 wherein the means for measuring comprises:means for generating and directing a measuring emission at the surface of the fluid medium in the second chamber; and a sensor for sensing at least some of the measuring emission reflected from the surface of the fluid medium in the second chamber, said sensor having an output varying in response to the position of the measuring emission on the sensor, said output of the sensor indicative of the fluid medium level in at least one of the first and second chambers.
 8. The apparatus of claim 1 further comprising means for positioning a previously formed layer of the object below the surface of the fluid medium in the first chamber a distance substantially equal to the thickness of the previously formed layer.
 9. The apparatus of claim 2 wherein said first and second chambers are arranged such that the fluid medium surface in the first and second chambers are at the same level and the output from the sensor is indicative of the fluid medium level in both chambers.
 10. The apparatus of claim 1 wherein said first chamber is adjacent said second chamber and is separated from the second chamber by a common wall having a submerged opening connecting the first and second chambers.
 11. The apparatus of claim 9 wherein said first chamber and second chamber have substantially coplaner lower surfaces.
 12. An apparatus for measuring the fluid medium level in a stereolithography system for producing a three-dimensional object on substantially a layer by layer basis from a fluid medium capable of solidification when subjected to prescribed stimulation comprising:at least one chamber having a first designated area for forming and solidifying layers of medium to form the object, and a second designated area spaced apart for the first designated area; and means for measuring the fluid medium level at the second designated area.
 13. The apparatus of claim 12 wherein the first designated area is in a first chamber and the second designated area is in a second chamber of the apparatus.
 14. The apparatus of claim 12 wherein the means for measuring comprises:a source for generating a beam of non-synergistic electromagnetic radiation; a beam director for directing the beam along a first optical path to impinge on the surface of the fluid medium in the second designated area so that a detectable portion of the beam is reflected off the surface along a second optical path; and a sensor that varies a signal in response to movement of the impinging electromagnetic beam across the sensor.
 15. The apparatus of claim 14 wherein the source for generating a beam comprises a laser.
 16. The apparatus of claim 14 wherein the sensor comprises a bi-cell.
 17. The apparatus of claim 16 further comprising means for forming the signal from a difference of two separate signals generated by the bi-cell.
 18. An apparatus for measuring fluid medium level in a stereolithography system for making a three-dimensional part on substantially a layer by layer basis by forming a layer of structure of solidified fluid medium onto a previous layer of structure formed from solidified fluid medium comprising:a chamber for holding the fluid medium; means for relatively displacing an upper surface of a previously formed layer of the object and the fluid medium surface; and a detector for detecting the level of the fluid medium in the chamber when the previously formed layer of the object is displaced below the fluid medium surface substantially more than the thickness of the layer.
 19. The apparatus of claim 18 wherein the means for measuring comprises:a source for generating a beam of non-synergistic electromagnetic radiation; a director for directing the beam along a first optical path to impinge on the surface of the fluid medium so that a detectable portion of the beam is reflected off the surface along a second optical path; and a sensor that varies a signal in response to movement of the impinging electromagnetic beam across the sensor.
 20. The apparatus of claim 19 wherein the source for generating a beam comprises a laser.
 21. The apparatus of claim 19 wherein the sensor comprises a bi-cell.
 22. The apparatus of claim 21 further comprising means for forming the signal from a difference of two separate signals generated by the bi-cell.
 23. The apparatus of claim 1 further comprising means for adjusting the fluid medium surface level connected to the means for measuring the fluid medium surface level.
 24. The apparatus of claim 23 wherein said means for adjusting comprises a plunger displaceable into and of the fluid medium.
 25. The apparatus of claim 24 further comprising a motor for moving the plunger into and out of the fluid medium.
 26. The apparatus of claim 25 further comprising a feedback loop between the motor and the means for measuring the fluid medium surface level.
 27. The apparatus of claim 2 wherein the sensor is fixed in position with respect to the second chamber.
 28. The apparatus of claim 2 further comprising a mirror fixed in position with respect to the second chamber for directing the beam.
 29. The apparatus of claim 14 further comprising a reflector floating on the fluid medium surface for reflecting the beam to the sensor.
 30. A method for measuring the level of a surface of a fluid medium, contained in a vessel, in preparation for formation of a layer of fluid medium over a previously formed layer of an object being stereolithographically formed on substantially a layer by layer basis comprising:(a) relatively displacing the previously formed layer of the object below the final fluid medium level substantially more than the thickness of the layer to be formed; and (b) determining a fluid medium level when the previously formed layer of the object is displaced below the surface of the fluid medium level substantially more than the thickness of the layer to be formed.
 31. The method of claim 30 wherein the fluid medium is a photopolymer.
 32. A method for measuring the level of a surface of a fluid medium, contained in a vessel, in preparation for formation of a thin uniform coating of the fluid medium over a previously formed layer of an object being stereolithographically formed on substantially a layer by layer basis comprising:(a) containing the fluid medium in a first chamber of the vessel; (b) containing a second fluid within a second chamber of the vessel operatively connected to the first chamber with at least the second fluid medium surface in the second chamber separated from the fluid medium surface in the first chamber; and (c) measuring the second fluid medium surface level in the second chamber, thereby allowing the fluid medium surface level in the first chamber to be determined.
 33. The method of claim 32 further comprising positioning the previously formed layer of the object below the surface of the fluid medium in the first chamber a distance substantially equal tot he thickness of the layer to be formed.
 34. The method of claim 2 wherein the fluid medium and the second fluid medium are the same medium.
 35. The method of claim 32 wherein the fluid medium and second fluid medium have different densities.
 36. The method of claim 32 wherein the fluid medium is a photopolymer.
 37. A method for measuring the fluid medium level in a system for stereolithographically producing a three-dimensional object on substantially a layer by layer basis from a fluid medium solidifiable under prescribed synergistic stimulating, comprising:containing the fluid medium in at least one vat; forming layers of the three-dimensional object in at least a first section of the at least one vat; and measuring the surface level of the fluid medium in a second section of the at least one vat, with the second section spaced apart from the first section.
 38. The method of claim 37 further comprising the steps of:coating a previously formed layer of the object with fluid medium in preparation for forming a next layer of the object.
 39. The method of claim 37 further comprising the step of adjusting the level of the fluid medium in the vat. 